package negocio;

import java.util.ArrayList;
import java.util.List;
import modelo.Advogado;
import DAO.AdvogadoDAO;
import DAO.DAOFactory;

public class AdvogadoLogic {

	public void insereAdvogado(Advogado advogado){
		
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		advogadoDAO.insereAdvogado(advogado);

	}
	
	public List <Advogado> buscarAdvogado(String opcao,String texto){
		List <Advogado> listaAdvogados = new ArrayList<Advogado>();
		if(opcao.equalsIgnoreCase("nome")){
			listaAdvogados = consultarAdvogadoNome(texto);
		}else if(opcao.equalsIgnoreCase("cpf")){
			listaAdvogados =  consultarAdvogadoCPF(texto);
		}else if(opcao.equalsIgnoreCase("oab")){
			listaAdvogados = consultarAdvogadoOAB(texto);
		}
		return listaAdvogados;
		
	}
	
	public List<Advogado> consultarAdvogadoNome(String texto){
		
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		List<Advogado> listaAdvogados = advogadoDAO.consultarAdvogadoNome(texto);
		return listaAdvogados;
	}
	
	public List<Advogado> consultarAdvogadoCPF(String texto){
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		List<Advogado> listaAdvogados = advogadoDAO.consultarAdvogadoCPF(texto);
		return listaAdvogados;
	}
	
	public List<Advogado> consultarAdvogadoOAB(String texto){
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		List<Advogado> listaAdvogados = advogadoDAO.consultarAdvogadoOAB(texto);
		return listaAdvogados;
	}
	
	public void alteraDadosAdvogado(Advogado advogado){
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		advogadoDAO.alteraDadosAdvogado(advogado);
	}
	
	public Advogado consultarAdvogadoCodigo(int codigoAdvogado){
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		Advogado advogado = advogadoDAO.consultarAdvogadoCodigo(codigoAdvogado);
		return advogado;
	}
	
	public void excluirAdvogado(int codigoAdvogado){
		AdvogadoDAO advogadoDAO = DAOFactory.getDAOFactory().getAdvogadoDAO();
		advogadoDAO.excluirAdvogado(codigoAdvogado);
	}
}
